iT邦幫忙

2025 iThome 鐵人賽

DAY 6
0
自我挑戰組

自學 Java 挑戰:語法、物件導向到專題應用系列 第 6

D06-Java 陣列 + 閱讀 Java API 文件 & 基本字串操作介紹

  • 分享至 

  • xImage
  •  

主題重點:什麼是陣列、如何閱讀 Java 的 API 文件、以及 substring、split 的用法

說明:

1.陣列(Array)

陣列是固定長度、同一種類型元素的集合。宣告時要指定長度,長度不可變。
用來儲存多個相同型別資料,例如 int[], String[] 等。

2.閱讀 Java API 文件
官方文件(Oracle JavaDoc)是最權威的來源,會告訴你某個類別(Class)或物件(物件=instance)有哪些方法(methods)、參數(parameters)、回傳型別(return type)、例外(exceptions)等。
閱讀時注意:方法名稱 + 參數 signature、是否有重載(overloaded)、是否拋出例外、回傳什麼、以及時間複雜度或特殊行為(若文檔有提)。

3.字串的基本操作:substring, split
substring(beginIndex):從 beginIndex 開始到字串尾。
substring(beginIndex, endIndex):從 beginIndex 開始,到 endIndex 前一位(exclusive)。
split(regex):按照正規表達式(regular expression)來分割字串,回傳一個字串陣列(String[])。
split(regex, limit):限制回傳陣列的最大長度;最後一個元素包含剩餘未被分割的部分。

範例:
https://ithelp.ithome.com.tw/upload/images/20250917/20178316vaVra2VZOZ.png
輸出結果:
https://ithelp.ithome.com.tw/upload/images/20250917/20178316jX6VVxpume.png

補充:進階應用

  1. split 與正規表達式
    split 內部使用 正規表達式,所以一些特殊字元要轉義:
    範例:
    https://ithelp.ithome.com.tw/upload/images/20250917/20178316o24SOehdEJ.png
    輸出結果:
    https://ithelp.ithome.com.tw/upload/images/20250917/201783166l1WdQbFBP.png

  2. substring 與效能問題
    在 舊版 JDK (6以前),substring 是透過共用原始字串的 char[],會造成 記憶體洩漏風險。

例如:
String big = "abcdefghijklmnopqrstuvwxyz";
String sub = big.substring(10, 15); // "klmno"

舊版會保留整個 big 的陣列。雖然 sub 只用了 5 個字元,但記憶體中仍保留完整 26 個字元。
JDK 7u6 之後已修正 → substring 會複製字元陣列,不再有此問題。

💡 但這也代表 substring 較耗效能(需要複製)。大字串裁切時要注意。

下一篇將介紹-字串常用方法進階比較與應用


上一篇
D05-打好程式基本功:5 個範例掌握變數、資料型態與運算子
下一篇
D07-字串常用方法進階比較與應用
系列文
自學 Java 挑戰:語法、物件導向到專題應用7
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言